function loadSecretMap(res) {
  if (res && res.adventureInfo) {
    var adventureInfo = res.adventureInfo
  }

  if (res && res.state === 1) {
    LoadShowContent(CONTENT[2], function() {
      $('#showContent').click(function() {
        $('#showContent').remove()
        loadSecretMain()
      })
    })
    return
  }

  $('#mainContent').html(template('t_secretMap'))
  var htmlCon = ''
  var secretMap = player.basicInfo.secretMap
  for (var i = 1; i < secretMap.length; i++) {
    //htmlCon += '<div class="lattice' + i +' lattice"><span class="'+latticesSvgs[secretMap[i].latticeId]+'">' + propName[secretMap[i].latticeId] + '</span></div>'
    htmlCon += '<div class="lattice' + i + ' lattice"><span class="icon-' + latticesSvgs[secretMap[i].latticeId] + ' latticeIcon"></span></div>'
  }
  $('.map').html(htmlCon)

  var width = $('.lattice1').width()
    /*  if (windowHeight === 1024 && windwoWidth === 768) {
        $('div[class^="lattice"]').height(width * 0.80)
      } else if (windowHeight > 500) {
        $('div[class^="lattice"]').height(width)
      } else {
        $('div[class^="lattice"]').height(width * 0.90)
      } */
  var lattice = player.basicInfo.lattice
  latticeAtive(latticeIndex, lattice, function() {
    latticeIndex = lattice
    loadLattice(adventureInfo)
  })

}

function loadLattice(adventureInfo) {
  var secretMap = player.basicInfo.secretMap
  var latticeId = secretMap[latticeIndex].latticeId
  var latticeConfig = templateConfig.lattice[latticeId]
  var latticeType = latticeConfig.latticeType
  var latticeName = latticeConfig.name
  var map = secretMapConfig[latticeId]
  $('.bottom .title').html(map.title)
  $('.bottom .titleContent').html(map.titleContent)
  $('.bottom .action').html(map.action)
  if (latticeIndex == secretMap.length - 2) {
    $('.action .adventure').css('display', 'none')
    $('.action').append('<button class="enterDeepPost"><span class="icon-220"></span>进入庇护所</button>')
  }
  loadAdventureInfo(function() {
    if (player.fightAttri.hp <= 0) {
      $('.action button').css('display', 'none')
      $('.action').append('<button class="corpse"><span class="icon-132"></span>跑尸</button>')
      $('.playerIcon').remove()
      var con = '<span class="icon-178 imgDie"></span>'
      $('.lattice' + latticeIndex).append(con)
    }

    //跑尸
    $('.corpse').click(function() {
      request.corpse(function(res) {
        $('.corpse').remove()
        latticeAtive(1, latticeIndex, function() {
          loadSecretMap()
          if (latticeIndex == player.basicInfo.secretMap.length - 2) {
            $('.action .adventure').css('display', 'none')
          } else {
            $('.action .adventure').css('display', 'inline-block')
          }
          $('.imgDie').remove()
          showMessage('你好不容易捡回了半条命')
          if (res.num > 0) {
            showMessage('可是你的背包被人摸去了不少东西')
          }
        })
      })
    })

  })
  if (adventureInfo && latticeType === 11) { //沼泽
    $('.lattice' + latticeIndex).addClass('hurtAnimation')
    showMessage('你陷入了' + latticeName + '中')
    showMessage('你挣扎了半天才得以脱身')
    showMessage('损失了' + adventureInfo.hurt + '点血量')
  } else if (adventureInfo && latticeType === 3) { //草原
    if (adventureInfo.type) {
      var event = templateConfig.total[290051][adventureInfo.type]
      if (adventureInfo && adventureInfo.type === 1) {
        showMessage('你遇到了怪物')
        attacks(adventureInfo.battleMsg)
      } else if (adventureInfo && adventureInfo.type === 2) {
        var con = '沿着一条小径走进这块幽静的地方，不远处有一个山洞。'
        con += '从洞口的土来看，应该有生物在这里活动过，不过顶部的石块有些松动'
        con += '，看起来有坍塌的危险。是否要进去查看一下？'
        popOpen(con, '继续赶路', '进入查看<br>(消耗一点体力)')
      } else if (adventureInfo && adventureInfo.type === 3) {
        var con = '在秘境中总是会遇到前人留下的物品，有可能是武器，也有可能是一些不错的原料。'
        con += '前方的丛林中，有一处满布着蔓藤，但是似乎闪动着金属的光泽。'
        popOpen(con, '继续赶路', '靠近查看<br>(消耗一点体力)')
      } else if (adventureInfo && adventureInfo.type === 4) {
        var con = '在冒险的过程中，最害怕的事情就是没有水。'
        con += '特别是烈日炎炎的情况下，眼前就有一处看起来很清澈的泉水。'
        con += '在泉水旁都能感受到其中丝丝的凉意，是否捧起来喝一口？'
        popOpen(con, '继续赶路', '喝水<br>(消耗一点体力)')
      } else if (adventureInfo && adventureInfo.type === 5) {
        var con = '在脚边的泥土中，埋藏着一个瓦罐，罐子口被厚厚的泥封住了。'
        con += '要不要打碎它，看看其中是否有什么有价值的东西呢？'
        popOpen(con, '继续赶路', '打碎瓦罐<br>(消耗一点体力)')
      } else if (adventureInfo && adventureInfo.type === 6) {
        var con = '秘境中虽然有各种危险的生物，但有一部分生物是不主动攻击冒险者的。'
        con += '除非他的幼兽有危险。路遇到一只幼兽，虚弱的躺在草地上，看起来好像受伤了，是否上前查看？'
        popOpen(con, '继续赶路', '上前查看<br>(消耗一点体力)')
      } else if (adventureInfo && adventureInfo.type === 7) {
        var con = '秘境中危机四伏，但危险中也蕴藏着宝藏。'
        con += '拨开藤蔓的叶子，不远处有一只怪兽倒在小路的旁边。'
        con += '看起来没什么动静，不知道是不是受了伤。'
        popOpen(con, '赶快离开', '发起攻击<br>(消耗一点体力)')
      } else if (adventureInfo && adventureInfo.type === 8) {
        var con = '由于宝藏的传言，很多人来到了秘境进行探险，大家各自遇到了不同的战斗、'
        con += '不同的陷阱，也各自有不同的收获。不过伤亡也是难免的。'
        con += '刚刚发现了一位冒险者受伤倒在树林旁边，是否消耗补给品帮助他？'
        popOpen(con, '继续赶路', '救治伤者<br>(花费补给品x1)')
      } else if (adventureInfo && adventureInfo.type === 9) {
        var con = '有位冒险者在丛林中搭建了一个临时的帐篷，可以为冒险者提供短暂休息的地方。'
        con += '在经过连续战斗之后，真的很想找一个安全的地方休息一下，哪怕只是短暂的休息也好。'
        popOpen(con, '继续赶路', '休息一下<br>(花费' + (event.needMoney * player.basicInfo.lvl) + '银币)')
      } else if (adventureInfo && adventureInfo.type === 10) {
        var con = '在秘境中遇到了一位神秘的冒险者，他说他是一位冒险商人，'
        con += '来到此地主要是为了买些补给品给冒险者们。不过由于条件比较艰苦，目前他只有治疗药剂可以出售。'
        popOpen(con, '继续赶路', '购买补给<br>(花费' + (event.needMoney * player.basicInfo.lvl) + '银币)')
      } else if (adventureInfo && adventureInfo.type === 11) {
        var con = '随着不断的探险，冒险者都有了不少收获。'
        con += '一些喜欢赌博的人将战利品放在一起，对所有人出售。'
        con += '他们的规则是每次花费固定的金币，随机获取一件物品。要不要来赌一把？'
        popOpen(con, '继续赶路', '参加赌博<br>(花费' + event.needGold + '金币)')
      } else if (adventureInfo && adventureInfo.type === 12) {
        var con = '秘境中经常可以看到树海守护神的雕像，为其准备贡品并真诚祈祷，能够获得守护神的祝福。'
        popOpen(con, '继续赶路', '祈祷<br>(花费' + event.needGold + '金币)')
      }
    }
  } else if (latticeType === 1) { //入口
    var treasureMapId = latticeConfig.treasureMapId
    if (getTotalNumByItemId(treasureMapId) <= 0) {
      $('.useTreasure').css('display', 'none')
    }
  }

  if (player.basicInfo.state === 2) {
    $('.attackFam').css('display', 'none')
    $('.mining').css('display', 'none')
    $('.collection').css('display', 'none')
    $('.fishing').css('display', 'none')
    $('.hotSpring').css('display', 'none')
    $('.pray').css('display', 'none')
  }
  //冒险
  $('.adventure').click(function() {
    request.adventure()
  })

  //进入深处岗哨
  $('.enterDeepPost').click(function() {
    request.enterDeepPost(function() {
      showMessage('你进入了庇护所休息, 恢复了5点体力')
    })
  })


  //挑战副本
  $('.attackFam').click(function(res) {
    request.attackFam(function(res) {
      loadSecretMap()
      attacks(res.battleMsg)
    })
  })

  //采矿
  $('.mining').click(function() {
    shield($(this), function() {
      request.mining(function(res) {
        loadSecretMap()
        if (res.fightMsg) {
          showMessage('你遇到了怪物')
          attacks(res.fightMsg)
        }
        if (res.itemId && res.num) {
          var htmlcontent = '挖到了  '
          var name = propName[res.itemId]
          htmlcontent += name + 'X' + res.num
          showMessage(htmlcontent)
        }

      })
    })
  })

  //采集
  $('.collection').click(function() {
    shield($(this), function() {
      request.collection(function(res) {
        loadSecretMap()
        if (res.fightMsg) {
          showMessage('你遇到了怪物')
          attacks(res.fightMsg)
        }
        if (res.itemId && res.num) {
          var htmlcontent = '采集到了  '
          var name = propName[res.itemId]
          htmlcontent += name + 'X' + res.num
          showMessage(htmlcontent)
        }
      })
    })
  })

  //钓鱼
  $('.fishing').click(function() {
    shield($(this), function() {
      request.fishing(function(res) {
        loadSecretMap()
        if (res.fightMsg) {
          showMessage('你遇到了怪物')
          attacks(res.fightMsg)
        }
        if (res.itemId && res.num) {
          var htmlcontent = '钓到了  '
          var name = propName[res.itemId]
          htmlcontent += name + 'X' + res.num
          showMessage(htmlcontent)
        }

      })
    })
  })

  //获取神秘商店的物品
  $('.getSecretMerchant').click(function() {
    request.getSecretMerchant(function(res) {
      setSecretMerchant(res)
    })
  })

  //进入秘境深处
  $('.deepSecret').click(function() {
    if(player.basicInfo.lvl < 3){
      showMessage('守护之地需要3级才能进入')
      return
    }
    request.deepSecret(function(res) {
      loadSecretGuard()
      showMessage('你进入了秘境守护之地')
    })
  })

  //泡温泉
  $('.hotSpring').click(function() {
    request.hotSpring(function() {
      loadSecretMap()
      showMessage('你在温泉里荡漾着,不经意的睡着了')
      showMessage('你恢复了生命值')
    })
  })

  //返回营地
  $('.returnCamp').click(function() {
    request.returnCamp()
    showMessage('你回到了营地,恢复了所有的状态')
  })

  //祈祷
  $('.pray').click(function() {
    shield($(this), function() {
      request.pray(function(res) {
        loadSecretMap()
        var index = res.index
        var buffValue = res.buffValue
        if (index === 0) {
          showMessage('你获得了幸运buff,提升了' + buffValue + '点幸运')
        } else if (index === 1) {
          showMessage('你获得了金钱buff,提升了' + buffValue + '%金钱获取')
        } else if (index === 2) {
          showMessage('你获得了生命buff,提升了' + (buffValue * 100) + '%生命上限')
        }
      })
    })
  })

  //使用藏宝图
  $('.useTreasure').click(function() {
    request.useTreasure(function(res) {
      var con = '你开启了秘境藏宝图<br>'
      var index = res.index
      if (index < 9) {
        con += '宝藏应该在不远处'
      } else if (index < 15) {
        con += '宝藏应该不在附近'
      } else if (index < 24) {
        con += '宝藏好像在挺远的地方'
      }
      showMessage(con)
      treasureFlag = 1
      $('.lattice' + index).append('<span class="treasure">(宝)</span>')
      $('.useTreasure').css('display', 'none')
    })
  })

  //挖宝
  $('.findTreasure').click(function() {
    request.findTreasure(function(res) {
      loadSecretMap()
      if (!res.itemId) {
        var con = '宝藏好像不在这里<br>'
      }

      if (res.itemId) {
        var con = '你挖到了' + propName[res.itemId] + '<br>'
        treasureFlag = 0
        $('span[class="treasure"]').remove()
      }
      showMessage(con)
      $('.findTreasure').css('display', 'none')
    })
  })

  //护送物资
  $('.transport').click(function() {
    var width = $('.lattice1').width()
    var height = $('.lattice1').height()
    var index = player.basicInfo.secretMap.length - 1
    $('.bottom').css('display', 'none')
    closeAdventureInfo()
    request.transport(function(transportInfos, getProp) {
      var timer = function() {
        setTimeout(function() {
          index -= 1
          $('.playerIcon').css('left', width * (0.5 + position[index][0]) - font_size)
          $('.playerIcon').css('top', height * (0.41 + position[index][1]))
          if (transportInfos[index] && transportInfos[index].fightMsg) {
            showMessage('你遇到了强盗')
            attacks(transportInfos[index].fightMsg, function() {
              $('#battleBox,#battleBg').remove()
              if (transportInfos[index]['result'] === -1) {
                showMessage('你阵亡了,护送任务失败')
                loadSecretMain()
              } else {
                timer()
              }
            })
          } else if (transportInfos[index] && transportInfos[index].hurt) {
            $('.lattice' + index).addClass('hurtAnimation')
            showMessage('你受到了沼泽地伤害')
            var hurt = transportInfos[index].hurt
            showMessage('损失了' + hurt + '点生命')
            setTimeout(function() {
              if (transportInfos[index]['result'] === -1) {
                showMessage('你阵亡了,护送任务失败')
                loadSecretMain()
              } else {
                timer()
              }
            }, 800)
          } else if (index === 0) {
            showMessage('护送任务完成')
            showMessage('获得物品:' + propName[getProp])
            loadSecretMain()
          } else {
            timer()
          }
        }, 600)
      }
      timer()
    })
  })
}

function latticeAtive(pos1, pos2, cb) {
  var width = $('.lattice1').width()
  var height = $('.lattice1').height()


  for (var j = 1; j <= (pos1 + 1); j++) {
    $('.lattice' + j).removeClass('lattice')
  }
  var con = '<span class="icon-103 playerIcon"></span>'


  $('.map').append(con)
  if (pos1 === pos2) {
    position[pos1][0]
    $('.playerIcon').css('left', width * (0.5 + position[pos1][0]) - font_size)
    $('.playerIcon').css('top', height * (0.41 + position[pos1][1]))
    cb()
    return
  } else if (pos1 > pos2) {
    $('.lattice' + (pos1 + 1)).removeClass('lattice')
    $('.playerIcon').css('left', width * (0.5 + position[pos1][0]) - font_size)
    $('.playerIcon').css('top', height * (0.41 + position[pos1][1]))
    setTimeout(function() {
      cb()
    }, 100)
  } else {
    var index = pos1
    $('.lattice' + (index + 1)).removeClass('lattice')
    $('.playerIcon').css('left', width * (0.5 + position[index][0]) - font_size)
    $('.playerIcon').css('top', height * (0.41 + position[index][1]))
    var timer = setInterval(function() {
      if (index === pos2) {
        clearInterval(timer)
        cb()
      } else {
        index += 1
        $('.lattice' + (index + 1)).removeClass('lattice')
        $('.playerIcon').css('left', width * (0.5 + position[index][0]) - font_size)
        $('.playerIcon').css('top', height * (0.41 + position[index][1]))
      }
    }, 500)
  }


}

function shield(self, cb) {
  self.addClass('actionAnimation')
  setTimeout(function() {
    cb()
  }, 1500)
}

var position = {
  0: [0, 0],
  1: [0, 0],
  2: [1, 0],
  3: [2, 0],
  4: [3, 0],
  5: [4, 0],
  6: [4, 1],
  7: [3, 1],
  8: [2, 1],
  9: [1, 1],
  10: [0, 1],
  11: [0, 2],
  12: [1, 2],
  13: [2, 2],
  14: [3, 2],
  15: [4, 2],
  16: [4, 3],
  17: [3, 3],
  18: [2, 3],
  19: [1, 3],
  20: [0, 3],
  21: [0, 4],
  22: [1, 4],
  23: [2, 4],
  24: [3, 4],
  25: [4, 4],
  26: [4, 4],
}
